1957B - A BIT of a Construction - CodeForces Solution


bitmasks bitmasks bitmasks bitmasks bitmasks constructive algorithms greedy implementation

Please click on ads to support us..

Python Code:

t = int(input())

for _ in range(t):

    n, k = map(int, input().split())
    ans = []
    current_pow = 0
    summ = 0
    while True:
        if (summ + 2**current_pow) < k:
            summ += 2**current_pow
            ans.append(2**current_pow)
            current_pow += 1
        else:
            break
    if (k-summ) > 0:
        ans.append(k-summ)
    if len(ans) > n:
                while len(ans) > n:
            a = ans.pop(0)
            b = ans.pop(0)
            ans = [a+b] + ans
    if len(ans) < n:
                while len(ans) < n:
            ans.append(0)
    print(' '.join(map(str, ans)))
    


Comments

Submit
0 Comments
More Questions

1331B - Limericks
305B - Continued Fractions
1165B - Polycarp Training
1646C - Factorials and Powers of Two
596A - Wilbur and Swimming Pool
1462B - Last Year's Substring
1608B - Build the Permutation
1505A - Is it rated - 2
169A - Chores
765A - Neverending competitions
1303A - Erasing Zeroes
1005B - Delete from the Left
94A - Restoring Password
1529B - Sifid and Strange Subsequences
1455C - Ping-pong
1644C - Increase Subarray Sums
1433A - Boring Apartments
1428B - Belted Rooms
519B - A and B and Compilation Errors
1152B - Neko Performs Cat Furrier Transform
1411A - In-game Chat
119A - Epic Game
703A - Mishka and Game
1504C - Balance the Bits
988A - Diverse Team
1312B - Bogosort
1616B - Mirror in the String
1660C - Get an Even String
489B - BerSU Ball
977C - Less or Equal